home *** CD-ROM | disk | FTP | other *** search
/ Language/OS - Multiplatform Resource Library / LANGUAGE OS.iso / prolog / brklyprl.lha / Emulator / Benchmarks / output / differen.pl < prev    next >
Encoding:
Text File  |  1989-04-14  |  845 b   |  34 lines

  1. %    differen (times10,divide10,log10,ops8)
  2. %    These 4 examples are from Warren's thesis
  3.  
  4. main :-
  5.     times10(I1),
  6.     d(I1,x,D1),
  7.     write(D1), nl,
  8.     divide10(I2),
  9.     d(I2,x,D2),
  10.     write(D2), nl,
  11.     log10(I3),
  12.     d(I3,x,D3),
  13.     write(D3), nl,
  14.     ops8(I4),
  15.     d(I4,x,D4),
  16.     write(D4), nl.
  17.  
  18. d(U+V,X,DU+DV) :- !, d(U,X,DU), d(V,X,DV).
  19. d(U-V,X,DU-DV) :- !, d(U,X,DU), d(V,X,DV).
  20. d(U*V,X,DU*V+U*DV) :- !, d(U,X,DU), d(V,X,DV).
  21. d(U/V,X,(DU*V-U*DV)/(^(V,2))) :- !, d(U,X,DU), d(V,X,DV).
  22. d(^(U,N),X,DU*N*(^(U,N1))) :- !, integer(N), N1 is N - 1, d(U,X,DU).
  23. d(-U,X,-DU) :- !, d(U,X,DU).
  24. d(exp(U),X,exp(U)*DU) :- !, d(U,X,DU).
  25. d(log(U),X,DU/U) :- !, d(U,X,DU).
  26. d(X,X,1).
  27. d(C,X,0).
  28.  
  29. times10( ((((((((x*x)*x)*x)*x)*x)*x)*x)*x)*x ).
  30. divide10( ((((((((x/x)/x)/x)/x)/x)/x)/x)/x)/x ).
  31. log10( log(log(log(log(log(log(log(log(log(log(x)))))))))) ).
  32. ops8( (x+1)*((^(x,2)+2)*(^(x,3)+3)) ).
  33.  
  34.